package cn.tedu.weibo.pojo.dto;

import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

/**
 * 注册功能DTO类
 */
@Data
public class UserRegDTO {
    /*
     1.ApiModelProperty注解：添加在DTO类属性上,用于设置Knife4j中的参数信息;
       1.1 value参数：指定参数描述;
       1.2 required参数：指定是否为必填,默认为false;
       1.3 example参数：示例值;
     */
    /*
        message参数：自定义异常提示消息,
        全局异常处理器中通过:ex.getFieldError().getDefaultMessage()获取消息;
        1.@NotNull注解：不允许为null
        2.@NotEmpty注解：不允许为空字符串,同时不允许为null
        3.@NotBlank注解：不允许为空白,不能为空,同时不能为null
        4.@Size注解：针对于字符串类型,指定长度限制
     */
    //@NotNull(message = "用户名不能为null")
    //@NotEmpty(message = "用户名不能为空,同时不能为null")
    //@NotBlank(message = "用户名不能为空白,不能为空,同时不能为null")
    //@Size(min = 6, max = 10, message = "用户名必须在6到10位之间")
    @Pattern(regexp = "^[\\u4e00-\\u9fa5]{1,7}|[a-zA-Z0-9_]{1,14}$", message = "用户名不能超过7个汉字或14个字符")
    private String username;

    @NotNull(message = "密码不能为null")
    private String password;

    @NotNull(message = "昵称不能为null")
    private String nickname;
}
